

package com.zdsx.modules.production.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zdsx.common.validator.annotate.AllowedValues;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 产品信息
 *
 * @author Lr
 * @since 1.0.0
 */
@Data
@EqualsAndHashCode(callSuper=false)
@ApiModel(value = "产品信息")
public class ProductInfoDTO implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 更新时需要这个id
	 */
	@ApiModelProperty(hidden = true)
	private Long id;

	/**
	 * 产品类型：光学类、常规类
	 */
	@NotNull
	@ApiModelProperty(value = "产品类型：1常规类，2光学")
	@AllowedValues(allowedValues = {"1", "2"})
	private String category;

	/**
	 * 产品编码
	 */
	@NotNull
	@ApiModelProperty(value = "产品编码")
	private String productCode;
	/**
	 * 产品名称
	 */
	@NotNull
	@ApiModelProperty(value = "产品名称")
	private String productName;

	/**
	 * 产品简介
	 */
	@ApiModelProperty(value = "产品简介")
	private String productDesc;

	/**
	 * 产品图片
	 */
	@NotNull
	@ApiModelProperty(value = "产品图片")
	private String productImage;

	@ApiModelProperty(value = "新增或修改产品图片时，用来上传图片的真实的文件名的")
	// @JsonIgnore
	private String realImageName;

	/**
	 * 状态：0未发布，1已发布
	 */
	@ApiModelProperty(value = "产品状态：0未发布，1已发布（暂未使用）")
	private int status = 0;


}